import api from '@/utils/api'

// 获取文件的所有版本
export const getVersions = (fileId) => {
  return api.get(`/files/${fileId}/versions`)
}

// 创建新版本
export const createVersion = (fileId, formData) => {
  return api.post(`/files/${fileId}/versions`, formData, {
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  })
}

// 下载指定版本
export const downloadVersion = (fileId, versionNumber) => {
  return api.get(`/files/${fileId}/versions/${versionNumber}/download`, {
    responseType: 'blob'
  })
}

// 恢复到指定版本
export const restoreVersion = (fileId, versionNumber) => {
  return api.post(`/files/${fileId}/versions/${versionNumber}/restore`)
}

// 删除指定版本
export const deleteVersion = (fileId, versionNumber) => {
  return api.delete(`/files/${fileId}/versions/${versionNumber}`)
}

// 比较两个版本
export const compareVersions = (fileId, version1, version2) => {
  return api.get(`/files/${fileId}/versions/compare`, {
    params: { version1, version2 }
  })
}